中秋節快樂!連假還是要脫離正軌一下,繼續來聊聊在柏林參加 WWC23的筆記。
今天是這場:Things I learned while writing high-performance JavaScript applications
可惜沒有錄影,回去看了一下我的筆記(AKA 相片)
大部分的內容都忘了(掩面),但想來探討一下講者提到優化JS時這個套件:to-fast-properties
套件的敘述:
Force V8 to use fast properties for an object
啥是V8啊啊啊(掀桌)
發現中文討論這個套件的文件少之又少,可是這套件一週有3000萬的下載量欸!(大概是一些套件的依賴套件)
爬了一下文章...
V8 是瀏覽器用來執行JS的引擎。
而Turbofan是V8裡面的JS優化編譯器。
這兩者主要就是Chrome在使用。
但別忘了! Chrome還是有6成的市佔率啊!
在這個影片:Understanding the V8 JavaScript Engine
清楚介紹了瀏覽器如何解析JS code並做優化,
可以利用Turbofan的Inline-Caching機制,用Monomorphic單態的變數,優化JS的解析速度
看不懂?還有這篇:Intro to JavaScript performance optimization
為了讓Turbofan發揮最大效用,在寫JS的時候我們可以...
//✅ 這樣效能比較好
const obj1 = {
x: 2,
y: 4.1,
};
//❌ 這樣比較慢
const obj2 = {
x: 4,
};
obj2.y = 2.2;
new Array(max)
How does V8 optimise the creation of very large arrays?
這邊還有更多JS 優化的技巧,希望之後可以一一來探討:
Addy Osmani :: The Cost of JavaScript
記得講者在說優化,就提到大家都要他去複習Algorithms and Data Structures Tutorial - Full Course for Beginners
想到我udemy JS algorithm課程上到一半,因為其他計畫被我暫停了...
希望用JS 理解algorithm 可以變成明年的鐵人題目...(遠目)
未完成的一篇!中秋節快樂啦!